package cn.iocoder.yudao.module.lfd.controller.admin.schedule.vo;

import lombok.*;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 排班 Excel 导出 Request VO，参数和 SchedulePageReqVO 是一致的")
@Data
public class ScheduleExportReqVO {

    @Schema(description = "店铺", example = "15119")
    private Long shopId;

    @Schema(description = "名称", example = "赵六")
    private String nickName;

    @Schema(description = "理发师id", example = "16130")
    private Long barberId;

    @Schema(description = "星期")
    private String week;

    @Schema(description = "状态", example = "1")
    private String status;

    @Schema(description = "开始上班")
    private LocalTime startWork;

    @Schema(description = "下班时间")
    private LocalTime endWork;

    @Schema(description = "加班开始")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalTime[] startOvertime;

    @Schema(description = "结束加班")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalTime[] endOvertime;

    @Schema(description = "总加班时长")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] totalOvertime;

    @Schema(description = "排班日")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate scheduleDate;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
